Изучаем Delphi. Библиотека VCL. Урок 4. Кнопки

В Delphi используется несколько видов разных кнопок. На этом уроке мы рассмотрим два из них - а именно классы TButton и TBitBtn.

Класс TButton представляет из себя обыкновенную кнопку. Для размещения этого компонента на форме щелкните на иконке

4_1.gif (8716 b)

на вкладке Standard на Палитре компонентов. На нашей форме появится кнопка с именем Button1. Давайте посмотрим на ее свойства и события.

Ну естественно, что основное событие для кнопки - это OnClick. Оно возникает, когда мы на кнопке щелкаем мышкой. Кроме того, оно возникает, когда кнопка находится в фокусе (в этом случае на кнопке будет пунктирный прямоугольник) и вы нажимаете на пробел. Еще один способ вызвать это событие - это нажать комбинацию клавиш Alt + подчеркнутый в заголовке кнопки символ. И, наконец, событие может быть вызвано путем нажатия клавиш Enter или Escape. Вот все это мы сейчас и посмотрим в действии. Для перехода в окно кода сделайте двойной щелчок на нашей кнопке на форме. Delphi создаст заготовку для события OnClick:

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

Давайте сюда что-нибудь впишем. Например программно изменим надпись на кнопке:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption:='&start';
end;

Обратите внимание на знак амперсанда (&) перед буквой s в слове start. При запуске программы следующая за ним буква будет подчеркнута, и тем самым нажатие комбинации клавиш Alt+s будет эквивалентно щелчку на кнопке мышкой:

4_2.gif (8716 b)

Вообще-то у кнопки, как и у любого компонента, событий много. OnClick - это только один из них (это событие по умолчанию, поэтому при двойном щелчке именно для него и появляется заготовка кода). Для просмотра всех событий (в том числе и OnClick ) щелкните на вкладке Evants Инспектора объектов:

4_3.gif (8716 b)

Если теперь сделать двойной щелчок на любом из событий в Инспекторе объектов, то для него появится заготовка кода.

У кнопки есть также свойство cancel булевского типа. По умолчанию оно равно false, и если вы его установите в true, то нажатие на клавишу cancel на клавиатуре будет эквивалентно щелчку на этой кнопке.

Есть и второй вид кнопки (класс TBitBtn ). Иконка для ее располагается на вкладке Additional Палитры компонентов:

4_4.gif (8716 b)

Расположите ее на форме. Большинство методов, свойств и событий у кнопки типа TBitBtn совпадает с обычной кнопкой TButton, так что сейчас мы поговорим об отличиях. Прежде всего, на кнопке типа TBitBtn может находится изображение. Оно задается свойством Glyph. Если вы в Инспекторе объектов нажмете на многоточие в строке с этим свойством, то появится окно Picture Editor, в которое вы можете загрузить изображение в формате *.bmp (воспользовавшись кнопкой Load ). После этого на вашей кнопке появится изображение:

4_5.gif (8716 b)

Размер изображения должен быть 16 на 16 пикселов. Кстати, изображений в файле *.bmp может быть и несколько. Скажем, если вы сделаете два изображения (в этом случае размер сдвоенной картинки будет 32 на 16 пикселов), то второе из них (правое) будет использоваться, когда кнопка будет недоступна (т. е. ее свойство enabled будет равно false ). В этом случае для недоступной кнопки мы получим что-то вроде:

4_6.gif (8716 b)

Еще одно важное свойство кнопки BitBtn - это свойство Kind. Оно позволяет задавать разные предопределенные изображения для нашей кнопки. Если вы его не меняли, то оно равно bkCustom (Пользовательское). Еще возможные значения - это bkOK, bkYes и другие стандартные значения. Вот как, например, будет выглядеть кнопка, если его свойство Kind равно bkYes:

4_7.gif (8716 b)

Свойство Caption при этом сгенерируется автоматически, но при желании его можно изменить.



Автор Алексеев Игорь..
Hosted by uCoz